The internet includes a distributed communications network linking a vast number of computers with smaller computers, computer networks and wireless devices. The computers coupled to these networks exchange information using various services, such as electronic mail and the world wide web (WWW). The world wide web allows a computer server (sometimes referred to as a web server or a web site) to send graphical web page information to a remote client computer system. The remote client computer system is configured to display the web page information in a graphical format.
Resources, such as individual computers or individual web pages on the world wide web may be uniquely identified by a uniform resource locator (URL). For a user to view a specific web page, a client computer system specifies the URL for that web page in a request, such as a hypertext transfer protocol (HTTP) request. The request is forwarded through the communications network to the web server that supports the particular web page. The web server responds to the request by sending the particular web page to the requesting client computer system. When the requesting client computer system receives the particular web page, the particular web page is displayed on a video display using a browser. The browser is typically a special-purpose application program that effects the requesting of web pages and the supplying of web pages.
The web pages themselves are typically defined using a hypertext mark-up language (HTML). HTML simply provides a standard set of tags that define how a web page is to be displayed. When a user indicates to the browser to display a web page, the browser sends a request to the server computer to transfer to the client computer system an HTML document that defines the web page. When the requested HTML document is received by the client computer system, the browser displays the web page as defined by the HTML document. The HTML document contains various tags that control the displaying of text graphics, controls, and other features. The HTML document may further contain URLs of other web pages or other documents or other types of content, such as, but not limited to, audio and video content, available on that server computer system or other server computer systems. These URLs are often referred to as links. Each of these links may be selected by the HTML document user and an HTTP request is sent to the associated web server.
Although the origins of the internet arose from the need for an exchange of scientific and engineering information between scientists and engineers, the internet has become especially conducive to conducting electronic commerce (e-commerce), searching for information by individuals for both personal and professional use, and for managing and facilitating day-to-day activities by individuals in a personal and professional context, as well as for providing other productivity services.
It has become increasingly desired that individuals be able to gain access to the resources and content available over the internet while using any of a variety of mobile devices, including, but not limited to, mobile computers, mobile messaging devices, cellular telephones, personal digital assistants, and handheld computers. With increased demands being put on these devices, users increasingly demand access to content, services, and resources available over the internet that would conventionally be available to a personal computer user as well, for example.
Typically, for example, in the world wide web environment, a user may be using a web browser interface and provide a desired URL as input to the browser. The browser issues a request to a server and the server returns a response. This type of communications session is an example of a synchronous communications session wherein the browser opens a communications session, provides data during the open communications session and awaits a response while the communications session remains open. The web server receiving the request sends a response and there may be several request/response pairs within the single session. All the while, the communications session remains open. This type of synchronous communications appears to work well for devices hardwired to a network either over a modem or connected to a local area network which is in turn connected to a larger wide area wired network or the like. Such systems have proven to be very reliable, in fact, transmission control protocol/internet protocol (TCP/IP) implements reliability in the protocol such that lost packets may be regenerated and reassembled. TCP/IP has been implemented on wireless devices. However, TCP/IP does not appear to be wholly efficient because the wireless communications channel may be extremely unreliable and TCP/IP was designed for point to point connections that are generally reliable. Wireless TCP/IP networks may be reliable when used in certain areas. However, when a wireless device is being transported, such as during driving and the device is obstructed from coverage by a hill or building, for example, or there are too many people making calls simultaneously and service has dropped, the communications channel is interrupted. Accordingly, on-line web based applications using synchronous communications protocols are not generally applicable to communications over wireless networks.
Thus, there is a need for a method of communicating wirelessly with a communications network using a more reliable communications technique and/or protocol. Further, there is a need for a system that enables reliable wireless communications between a mobile device and a communications network. There is also a need for a system and method utilizing message-queue middleware in which messages from a computer server are queued and await transmission to an associated mobile device. There is further a need for a system and method which utilizes a communications queue on the mobile device, whereby messages or packets in the communications queue await connection to a communications network prior to transmission.
The techniques herein below extend to those embodiments which fall within the scope of the appended claims, regardless of whether they accomplish one or more of the above-mentioned needs.